package com.diaohaiwen.basic.account.obj.model;

import com.diaohaiwen.framework.db.obj.BaseCUModel;
import com.mybatisflex.annotation.Table;
import jakarta.validation.constraints.NotNull;
import lombok.*;

import java.io.Serializable;

/**
 * 系统账户表 实体类。
 *
 * @author 刁海文
 * @since 2023-07-20 19:06:16
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Table(value = "account")
public class Account extends BaseCUModel implements Serializable {

    /**
     * 用户姓名
     */
    @NotNull(message = "不能为空")
    private String username;

    /**
     * 用户手机号
     */
    @NotNull(message = "不能为空")
    private String mobile;

    /**
     * 用户邮箱
     */
    @NotNull(message = "不能为空")
    private String email;

    /**
     * 用户的登录密码，加密后
     */
    private String salt;

    /**
     * 登录密码
     */
    @NotNull(message = "不能为空")
    private String passwd;

    /**
     * 部门ID
     */
    @NotNull(message = "不能为空")
    private Long departmentId;

    /**
     * 账户状态
     */
    private String status;

    /**
     * 头像
     */
    private String headPortrait;

    /**
     * 白名单;TRUE:000000登录，FALSE: 验证码登录
     */
    private Boolean white;

}
